﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using BookExpress.DB;

namespace BookExpress.Midia
{
    public class Midia
    {
        private int midCod;
        private string midNome;

        public int MidCod
        {
            get { return midCod; }
            set { midCod = value; }
        }

        public string MidNome
        {
            get { return midNome; }
            set { midNome = value; }
        }

        public Midia buscaMidia(string nome)
        {
            ServicosDB sql = new ServicosDB();
            string strConsultar = "SELECT * FROM MIDIA WHERE midNome = '" + nome + "'";
            SqlDataReader rsMidia;

            try
            {
                rsMidia = sql.recordSet(strConsultar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }

            if (rsMidia.HasRows)
            {
                while (rsMidia.Read())
                {
                    Midia m = new Midia();
                    m.midCod = (int)rsMidia["midCod"];
                    m.midNome = rsMidia["midNome"].ToString();
                    return m;
                }
            }
            else
            {
                throw new Exception("Mídia não encontrada.");
            }

            return null;
        }

        public void atualizarMidia(int cod, string nome)
        {
            ServicosDB sql = new ServicosDB();
            string strAtualizar = "UPDATE MIDIA SET midNome = '" + nome + "' WHERE midCod = " + cod;

            try
            {
                sql.executar(strAtualizar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }

        public void excluirMidia(int cod)
        {
            ServicosDB sql = new ServicosDB();
            string strExcluir = "DELETE FROM MIDIA WHERE midCod = " + cod;

            try
            {
                sql.executar(strExcluir);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }

        public void cadastrarMidia(string nome)
        {
            ServicosDB sql = new ServicosDB();

            string strCadastrar = "INSERT INTO MIDIA VALUES ('" + nome + "')";

            try
            {
                sql.executar(strCadastrar);
            }
            catch (SqlException)
            {
                throw new Exception("Falha na conexão com o banco de dados.");
            }
        }
    }
}